<?php
namespace Home\Model;
use Think\Model;
class UserModel extends Model{
    // protected $patchValidate = true;
    public $m_data = array();
    function check_verify1($code,$reset = false, $id = ''){
        $verify = new \Think\Verify();
        $verify->reset = $reset;
        $res = $verify->check($code, $id);
        return $res;
    }

    protected $_validate = array(
        // array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),
        // array('username','/^[a-zA-Z][a-zA-Z0-9]{3,19}$/','用户名必须由字母开头，4~20位数字字母组成'),
        array('verify','check_verify1','验证码错误',1,'function',1),
        array('username','is_username','用户名必须由字母开头，6~20位数字字母组成',1,'function',1),
        array('mobile','is_mobile','手机格式不正确',1,'function',1),
        array('email','is_mail','邮箱格式不正确',1,'function',1),
        array('birthday','is_birthday','日期不正确',1,'function',1),
        array('password','is_password','密码必须由6~20位数字字母组成',1,'function',1),
        array('id','require','非法操作',2),
//        array('birthday','')
        array('repassword','password','确认密码不正确',1,'confirm',1), // 验证确认密码是否和密码一致
        // array('username','is_username','用户名必须由字母开头，4~20位数字字母组成callback',1,'callback'),
        array('username','','用户名被占用',1,'unique',1), // 在新增的时候验证name字段是否唯一
        array('mobile','','手机被占用',1,'unique',1), // 在新增的时候验证name字段是否唯一
        array('email','','邮箱被占用',1,'unique',1),
    );

    protected $_auto = array (
        array('c_time','time',1,'function'), // 对c_time字段在新增的时候写入当前时间戳
        array('u_time','time',3,'function'), // 对u_time字段在新增和更新的时候写入当前时间戳
//        array('img','/jhv/Public/Home/img/user_default.jpg'), // 对u_time字段在新增和更新的时候写入当前时间戳
    );

    public function setData($data){
        $this->m_data = $data;
    }

    public function getData(){
        return $this->m_data;
    }

    /**
     * 插入到数据库
     * @return bool|mixed
     */
    public function insertDb(){
        if(!$this->create($this->m_data,1)){
            //自动验证出错 返回false 让控制器报错
            return false;
        }
        //通过自动验证
        $res = $this->add();
        return $res;
    }

    /**
     * 修改到数据库
     * @return bool
     */
    public function updateDb(){
        if(!$this->create($this->m_data,2)){
            return false;
        }

        $res = $this->save();
        return $res;
    }


    public function is_old_password($password)
    {
        $data = $this->m_data;
        $one = $this->field('password')->find($data['id']);
        // var_dump($data);
        // var_dump($one);
        if(!$one || $one['password'] != $password){
            return false;
        }
        return true;
    }
}
?>